package persistencia.entidades;

import java.util.Calendar;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.validation.constraints.NotNull;

/**
 * @author Maciel Melo
 * @since 09/11/2013
 * @see macielmelo.eti.br
 */
@SuppressWarnings("javadoc")
@Entity(name = "agenda")
public class Agenda {

	@Id
	@SequenceGenerator(sequenceName = "public.seq_agenda", name = "seq_agenda", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_agenda")
	private Long id;

	@NotNull
	private Calendar date;

	// ----------------------------Relacionamento-----------------------------//
	@ManyToOne
	private Paciente paciente;

	@ManyToOne
	private Atendente atendente;

	@OneToOne
	private Consulta consulta;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Calendar getDate() {
		return date;
	}

	public void setDate(Calendar date) {
		this.date = date;
	}

	public Paciente getPaciente() {
		return paciente;
	}

	public void setPaciente(Paciente paciente) {
		this.paciente = paciente;
	}

	public Atendente getAtendente() {
		return atendente;
	}

	public void setAtendente(Atendente atendente) {
		this.atendente = atendente;
	}

	public Consulta getConsulta() {
		return consulta;
	}

	public void setConsulta(Consulta consulta) {
		this.consulta = consulta;
	}
}
